package com.ship.dispatch.bean;

import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ship.common.core.base.Joinable;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

@Data
@TableName("sp_ship_schedule")
public class SpShipSchedule extends BaseBean implements Joinable {
    /**
     * 方案ID
     */
    private Long schemeId;
    /**
     * 计划id
     */
    private Long planId;
    /**
     * 船运合同id
     */
    private Long shipContractId;
    /**
     *起租日期-开始
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
    private Date startingDateOfLeaseBegin;
    /**
     *还船日期-结束
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
    private Date redeliveryDateEnd;
    /**
     * 预计装载时间
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date expectedLoadingDate;

    /**
     * 预计装载完成窗口
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date expectedLoadingCompletionWindow;
    /**
     * 预计卸载窗口
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date expectedUnloadingWindow;
    /**
     * 预计满载航程天数
     */
    private Integer expectedFullLoadVoyageDays;

    /**
     * 预计卸载完成窗口
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date expectedUnloadingCompletionWindow;
    /**
     * 预计空载航程天数
     */
    private Integer expectedEmptyLoadVoyageDays;

    /**
     * 预计空载返程窗口
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date expectedEmptyReturnWindow;
    /**
     * 船名
     */
    private String shipName;

    /**
     * IMO
     */
    private String imo;

    /**
     * 租出日期,多条
     */
    private String leaseTermStr;

    /**
     * 浮动最大容量
     */
    private BigDecimal maxStorageCapacity;

    /**
     * 浮动最小容量
     */
    private BigDecimal minStorageCapacity;

    /**
     * 舱容
     */
    private BigDecimal storageCapacity;

    /**
     * 方案执行状态（0：未下发，1：已下发（船货排布），2：已排布（执行中），3：已完成，4：已终止）
     */
    private Integer executeStatus;

    /**
     *贸易主体(国贸、新贸)
     */
    private Integer tradeBody;

    /**
     * 合同装/卸载量
     */
    private BigDecimal loadingOrUnloadingCapacity;

    @Override
    public String getLabel() {
        return null;
    }

    @Override
    public String getValue() {
        return null;
    }
}
